package com.bazhua.bazo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bazhua.bazo.repository.entity.Coupon;
import com.bazhua.bazo.repository.entity.ShopInfo;
import com.bazhua.bazo.repository.model.*;
import com.bazhua.bazo.repository.model.result.CommonResult;
import com.bazhua.bazo.repository.model.result.PageListResult;

/**
 * @Author: starmile
 * @Description:
 * @Create: 2021-01-25 0:14
 **/
public interface ICouponService extends IService<Coupon> {

    CommonResult setCoupon(SetCoupon setCoupon,Long shopUserId);

    CommonResult getCoupon(Integer couponId, Long userId);

    CommonResult drawCoupon(DramCoupon dramCoupon, Long userId);

    CommonResult checkCoupon(CheckCoupon checkCoupon, Long userId);

    CommonResult hasCoupon(Long couponId, Long userId);

    CommonResult auditCoupon(Long couponId);

    CommonResult forbiddenCoupon(Long couponId);

    PageListResult page(CouponSearch search, Long userId);

    PageListResult getMyCouponPage(Integer pageNum, Integer pageSize, Long userId);

    PageListResult getCouponRecordPage(CouponRecordSearch couponRecordSearch);

    CommonResult getCouponRecordDetail(Long couponRecordId);
}
